layui.use(['table','form','element'], function(){
    var table = layui.table;
    var form = layui.form;
    var element = layui.element;
    var layer = layui.layer;

    var $ = layui.$;
    //提交表单
    form.on('submit(*)',function (d) {
        table.reload('dataTable',{
            where:d.field
        })
        return false;
    })
    //加载一级分类
    loadCategory({parentId:'', selectName:'categoryLevel1'});
    //一级分类change事件
    form.on('select(categoryLevel1)',function (data) {
        //加载二级分类
        if(data.value!='') {
            loadCategory({parentId: data.value, selectName: 'categoryLevel2'})
        }
        //清空二、三级分类
        $("[name=categoryLevel2]").html("");
        $("[name=categoryLevel3]").html("");
        form.render('select');

    })
    //二级分类change事件
    form.on('select(categoryLevel2)',function (data) {
        //加载三级分类
        if(data.value!='') {
            loadCategory({parentId: data.value, selectName: 'queryCategoryLevel3'})
        }
        //清空三级分类
        $("[name=categoryLevel3]").html("");
        form.render('select');
    })
    //第一个实例
    table.render({
        elem: '#dataTable'
        ,url: serverUrl + '/appinfos' //数据接口
        ,page: { //支持传入 laypage 组件的所有参数（某些参数除外，如：jump/elem） - 详见文档
            layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
            //,curr: 5 //设定初始在第 5 页
            ,groups: 1 //只显示 1 个连续页码
            ,first: false //不显示首页
            ,last: false //不显示尾页
        }
        ,limits: [5,10,20]  //每页条数的选择项，默认：[10,20,30,40,50,60,70,80,90]。
        ,limit: 5 //每页默认显示的数量
        ,cols: [[ //表头
            {field: 'id', title: 'ID', fixed: 'left'}
            ,{field: 'appName', title: 'APP名字'}
            ,{field: 'apkName', title: 'APK名字'}
            ,{field: 'categoryName', title: '分类名称'}
            ,{field: 'aaaa', title: '分类2',templet:function (d) {
                return d.categoryLevel1Name+'->'+d.categoryLevel2Name+'->'+d.categoryLevel3Name;
            }}
        ]]
        ,response:{
            statusName:'code', //规定返回的状态码字段为code
            statusCode:200 //规定成功的状态码味200
        }
        ,parseData: function(res){ //res 即为原始返回的数据
            console.log(res.data);
            return {
                "code": res.code, //解析接口状态
                "msg": res.msg, //解析提示文本
                "count": res.data.totalCount, //解析数据长度
                "data": res.data.dataList //解析数据列表
            };
        }
    });

    function loadCategory(params) {
        $.ajax({
            url: serverUrl + '/appinfos/category',
            data:{parentId: params.parentId},
            type:'get',
            dataType:'json',
            success:function (result) {
                $("[name="+params.selectName+"]").append("<option value=''>请选择</option>");
                $.each(result.data,function (i,item) {
                    $("[name="+params.selectName+"]").append("<option value='"+item.id+"'>"+item.categoryName+"</option>");
                });
                form.render("select");
            },
            error:function (xhr) {
                layer.msg('出错了');
            }
        })
    }
});